home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / etc / bash_completion.d / quota-tools < prev    next >
Text File  |  2009-04-02  |  5KB  |  310 lines

  1. # -*- mode: shell-script; sh-basic-offset: 8; indent-tabs-mode: t -*-
  2. # ex: ts=8 sw=8 noet filetype=sh
  3. #
  4. # bash completion for quota-tools
  5.  
  6. have quota && {
  7. _user_or_group()
  8. {
  9.     local i
  10.  
  11.     # complete on groups if -g was given
  12.     for (( i=1; i < COMP_CWORD; i++ )); do
  13.         if [[ "${COMP_WORDS[i]}" == -g ]]; then
  14.             COMPREPLY=( $( compgen -g -- $cur ) )
  15.             return 0
  16.         fi
  17.     done
  18.  
  19.     # otherwise complete on users
  20.     COMPREPLY=( $( compgen -u -- $cur ) )
  21. }
  22.  
  23. _quota_formats()
  24. {
  25.     COMPREPLY=( $( compgen -W 'vfsold vfsv0 rpc xfs' -- $cur ) )
  26. }
  27.  
  28. _filesystems()
  29. {
  30.     #  Only list filesystems starting with "/", otherwise we also get
  31.     #+ "binfmt_misc", "proc", "tmpfs", ...
  32.     COMPREPLY=( $( compgen -W "$(awk '/^\// {print $1}' /etc/mtab)" \
  33.         -- $cur ) )
  34. }
  35.  
  36. _quota()
  37. {
  38.     local cur prev
  39.  
  40.     COMPREPLY=()
  41.     cur=`_get_cword`
  42.     prev=${COMP_WORDS[COMP_CWORD-1]}
  43.  
  44.     case $prev in
  45.         -F)
  46.             _quota_formats
  47.             return 0
  48.             ;;
  49.     esac
  50.     
  51.     if [[ "$cur" == *=* ]]; then
  52.         prev=${cur/=*/}
  53.         cur=${cur/*=/}
  54.         case $prev in
  55.             --format)
  56.                 _quota_formats
  57.                 return 0
  58.                 ;;
  59.         esac
  60.     fi
  61.  
  62.     if [[ "$cur" == -* ]]; then
  63.         COMPREPLY=( $( compgen -W '-F --format= -g --group -u --user -v --verbose \
  64.             -s --human-readable -p --raw-grace -i --no-autofs -l --local-only \
  65.             -A --all-nfs -m --no-mixed-pathnames -q --quiet -Q --quiet-refuse \
  66.             -w --no-wrap' -- $cur ) )
  67.     else
  68.         _user_or_group
  69.     fi
  70. }
  71. complete -F _quota $default quota
  72.  
  73. _setquota()
  74. {
  75.     local cur prev
  76.  
  77.     COMPREPLY=()
  78.     cur=`_get_cword`
  79.     prev=${COMP_WORDS[COMP_CWORD-1]}
  80.  
  81.     case $prev in
  82.         -F)
  83.             _quota_formats
  84.             return 0
  85.             ;;
  86.     esac
  87.  
  88.     if [[ "$cur" == *=* ]]; then
  89.         prev=${cur/=*/}
  90.         cur=${cur/*=/}
  91.         case $prev in
  92.             --format)
  93.                 _quota_formats
  94.                 return 0
  95.                 ;;
  96.         esac
  97.     fi
  98.  
  99.     if [[ "$cur" == -* ]]; then
  100.         COMPREPLY=( $( compgen -W '-r --remote -m --no-mixed-pathnames \
  101.             -F --format= -g --group -u --user -p --prototype= -b --batch \
  102.             -c --continue-batch -t --edit-period -T --edit-times -a --all' -- $cur ) )
  103.     else
  104.         _count_args
  105.  
  106.         case $args in
  107.             1)
  108.                 _user_or_group
  109.                 ;;
  110.             2)
  111.                 _filesystems
  112.                 ;;
  113.         esac
  114.  
  115.     fi
  116. }
  117. complete -F _setquota $default setquota
  118.  
  119. _edquota()
  120. {
  121.     local cur prev
  122.  
  123.     COMPREPLY=()
  124.     cur=`_get_cword`
  125.     prev=${COMP_WORDS[COMP_CWORD-1]}
  126.  
  127.     case $prev in
  128.         -F)
  129.             _quota_formats
  130.             return 0
  131.             ;;
  132.         -@(f|-filesystem))
  133.             _filesystems
  134.             return 0
  135.             ;;
  136.     esac
  137.  
  138.     if [[ "$cur" == *=* ]]; then
  139.         prev=${cur/=*/}
  140.         cur=${cur/*=/}
  141.         case $prev in
  142.             --format)
  143.                 _quota_formats
  144.                 return 0
  145.                 ;;
  146.         esac
  147.     fi
  148.  
  149.     if [[ "$cur" == -* ]]; then
  150.         COMPREPLY=( $( compgen -W '-r --remote -m --no-mixed-pathnames \
  151.             -g --group -u --user -p --prototype= -F --format= -f --filesystem \
  152.             -t --edit-period -T --edit-times' -- $cur ) )
  153.     else
  154.         _user_or_group
  155.     fi
  156. }
  157. complete -F _edquota $default edquota
  158.  
  159. _quotacheck()
  160. {
  161.     local cur prev
  162.  
  163.     COMPREPLY=()
  164.     cur=`_get_cword`
  165.     prev=${COMP_WORDS[COMP_CWORD-1]}
  166.  
  167.     case $prev in
  168.         -F)
  169.             _quota_formats
  170.             return 0
  171.             ;;
  172.     esac
  173.  
  174.     if [[ "$cur" == *=* ]]; then
  175.         prev=${cur/=*/}
  176.         cur=${cur/*=/}
  177.         case $prev in
  178.             --format)
  179.                 _quota_formats
  180.                 return 0
  181.                 ;;
  182.         esac
  183.     fi
  184.  
  185.     if [[ "$cur" == -* ]]; then
  186.         COMPREPLY=( $( compgen -W '-b --backup -v --verbose -d --debug \
  187.             -g --group -u --user -c --create-files -f --force -i \
  188.             --interactive -n --use-first-dquot -M --try-remount -m \
  189.             --no-remount -R --exclude-root -F --format= -a --all' \
  190.             -- $cur ) )
  191.     else
  192.         _filesystems
  193.     fi
  194. }
  195. complete -F _quotacheck $default quotacheck
  196.  
  197. _repquota()
  198. {
  199.     local cur prev
  200.  
  201.     COMPREPLY=()
  202.     cur=`_get_cword`
  203.     prev=${COMP_WORDS[COMP_CWORD-1]}
  204.  
  205.     case $prev in
  206.         -F)
  207.             _quota_formats
  208.             return 0
  209.             ;;
  210.     esac
  211.  
  212.     if [[ "$cur" == *=* ]]; then
  213.         prev=${cur/=*/}
  214.         cur=${cur/*=/}
  215.         case $prev in
  216.             --format)
  217.                 _quota_formats
  218.                 return 0
  219.                 ;;
  220.         esac
  221.     fi
  222.  
  223.     if [[ "$cur" == -* ]]; then
  224.         COMPREPLY=( $( compgen -W '-a --all -v --verbose -s --human-readable \
  225.             -c --batch-translation -C --no-batch-translation -t \
  226.             --truncate-names -n --no-names -p --raw-grace -i --no-autofs \
  227.             -u --user -g --group -F --format=' -- $cur ) )
  228.     else
  229.         _filesystems
  230.     fi
  231. }
  232. complete -F _repquota $default repquota
  233.  
  234. _quotaon()
  235. {
  236.     local cur prev
  237.  
  238.     COMPREPLY=()
  239.     cur=`_get_cword`
  240.     prev=${COMP_WORDS[COMP_CWORD-1]}
  241.  
  242.     echo --$cmd--
  243.     case $prev in
  244.         -F)
  245.             _quota_formats
  246.             return 0
  247.             ;;
  248.     esac
  249.  
  250.     if [[ "$cur" == *=* ]]; then
  251.         prev=${cur/=*/}
  252.         cur=${cur/*=/}
  253.         case $prev in
  254.             --format)
  255.                 _quota_formats
  256.                 return 0
  257.                 ;;
  258.         esac
  259.     fi
  260.  
  261.     if [[ "$cur" == -* ]]; then
  262.         COMPREPLY=( $( compgen -W '-a --all -v --verbose -u --user \
  263.             -g --group -f --off -p --print-state -F --format=' -- $cur ) )
  264.     else
  265.         _filesystems
  266.     fi
  267. }
  268. complete -F _quotaon $default quotaon
  269.  
  270. _quotaoff()
  271. {
  272.     local cur prev
  273.  
  274.     COMPREPLY=()
  275.     cur=`_get_cword`
  276.     prev=${COMP_WORDS[COMP_CWORD-1]}
  277.  
  278.     case $prev in
  279.         -F)
  280.             _quota_formats
  281.             return 0
  282.             ;;
  283.         -@(x|-xfs-command))
  284.             COMPREPLY=( $( compgen -W 'delete enforce' -- $cur ) )
  285.             return 0
  286.             ;;
  287.     esac
  288.  
  289.     if [[ "$cur" == *=* ]]; then
  290.         prev=${cur/=*/}
  291.         cur=${cur/*=/}
  292.         case $prev in
  293.             --format)
  294.                 _quota_formats
  295.                 return 0
  296.                 ;;
  297.         esac
  298.     fi
  299.  
  300.     if [[ "$cur" == -* ]]; then
  301.         COMPREPLY=( $( compgen -W '-a --all -v --verbose -u --user \
  302.             -g --group -p --print-state -x --xfs-command -F --format=' \
  303.             -- $cur ) )
  304.     else
  305.         _filesystems
  306.     fi
  307. }
  308. complete -F _quotaoff $default quotaoff
  309. }
  310.